package com.celesea.auth.user.v1.controller.request;

import com.celesea.framework.vo.DictionaryVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author JackYuan
 * @create 2017-10-26 23:45
 */
@ApiModel(value = "用户新增")
public class PostRequest {
    @NotNull
    @Length(min = 1, max = 20)
    @ApiModelProperty(value = "名称", required = true)
    private String name;
    @Length(min = 0, max = 50)
    @ApiModelProperty(value = "账号")
    private String account;
    @Length(min = 0, max = 50)
    @ApiModelProperty(value = "邮箱")
    private String email;
    @Length(min = 0, max = 11)
    @ApiModelProperty(value = "手机")
    private String mobile;
    @NotNull
    @ApiModelProperty(value = "启停用状态：[0：停用，1：启用]", allowableValues = "0,1")
    private Byte statusFlag;
    @NotNull
    @ApiModelProperty(value = "所属部门")
    private DictionaryVo dept;
    @ApiModelProperty(value = "职级")
    private DictionaryVo grade;
    @ApiModelProperty(value = "上级")
    private DictionaryVo leader;
    @ApiModelProperty(value = "授权查看角色")
    private List<DictionaryVo> permUsers;
    @ApiModelProperty(value = "授权查看部门")
    private List<DictionaryVo> permDepts;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public Byte getStatusFlag() {
        return statusFlag;
    }

    public void setStatusFlag(Byte statusFlag) {
        this.statusFlag = statusFlag;
    }

    public DictionaryVo getDept() {
        return dept;
    }

    public void setDept(DictionaryVo dept) {
        this.dept = dept;
    }

    public DictionaryVo getGrade() {
        return grade;
    }

    public void setGrade(DictionaryVo grade) {
        this.grade = grade;
    }

    public DictionaryVo getLeader() {
        return leader;
    }

    public void setLeader(DictionaryVo leader) {
        this.leader = leader;
    }

    public List<DictionaryVo> getPermUsers() {
        return permUsers;
    }

    public void setPermUsers(List<DictionaryVo> permUsers) {
        this.permUsers = permUsers;
    }

    public List<DictionaryVo> getPermDepts() {
        return permDepts;
    }

    public void setPermDepts(List<DictionaryVo> permDepts) {
        this.permDepts = permDepts;
    }
}
